// //1、带参宏定义
// #include<stdio.h>
// #define PI 3.1415926//无参宏定义
// #define COMP_CIR(x) 2*PI*x//有参宏定义
// int main()
// {
//     double r=1.0;
//     printf("圆的周长:2*PI*r=%f\n",COMP_CIR(r));
//     return 0;
// }


// //2、带参宏定义的替换问题
// #include<stdio.h>
// #define ABS(x) (x)>=0?(x):-(x)//求绝对值问题

// double compAbs(double num)
// {
//     return num>=0?num:-num;
// }
// int main()
// {
//     double x=12,y=12;
//     printf("ABS(++x)=%f\n",ABS(++x));//(++x)>=0?(++x):-(++X)
//     printf("compAbs(++y)=%f\n",compAbs(++y));//13>=0?13:-13
//     getchar();

//     return 0;
// }


// //3、取消宏定义
// #include<stdio.h>
// #define PI 3.14
// int main()
// {
//     printf("%f\n",PI);
//     #undef PI//取消后
//     printf("%f\n",PI);//再次引用
//     return 0;
// }


// //4、条件编译#if……#else…#endif
// #include<stdio.h>
// //宏定义
// #define WIN32 0
// #define x64 1
// #define SYSTEM WIN32//通过改变这里进行条件编译
// int main()
// {
//     //通过判断SYSTEM的值，输出程序支持的平台
//     #if SYSTEM==WIN32
//         printf("win32\n");
//     #else
//         printf("x64");
//     #endif
//     return 0;
// }


// //5、#ifdef
// #include<stdio.h>
// #define DEBUG
// int main()
// {
//     int i=5;
//     #ifdef DEBUG
//         printf("i=%d\n",i);
//     #endif

//     int j=10;
//     #ifdef DEBUG
//         printf("j=%d\n",j);
//     #endif

//     int sum=i+j;
//     #ifdef DEBUG
//         printf("i+j=%d\n",sum);
//     #endif
//     return 0;
// }


//6、#ifndef
#include<stdio.h>
#define DEBU
int main()
{
    #ifndef DEBUG
        printf("输出信息：\n");
    #else
        printf("无信息\n");
    #endif
    return 0;
}